package com.aidex.biz.service;

import com.aidex.biz.domain.Order;
import com.aidex.biz.domain.RefundOrder;
import com.aidex.biz.domain.UserTixian;
import com.aidex.common.core.domain.R;
import com.alibaba.fastjson.JSONObject;

/**
 * 微信商户支付信息Service业务层处理
 *
 * @author sean
 * @email 2074844820@qq.com
 * @date 2022-09-21
 */
public interface WxPayService {

    /**
     * 用户提现 -微信打款
     *
     * @param userTixian
     */
    public boolean transferBatches(UserTixian userTixian);

    /**
     * 微信转账到零钱
     *
     * @param merchantId
     * @param merchantSerialNumber
     * @param apiV3Key
     * @param privateKeyUrl
     * @param jsonObject
     * @return
     */
    public String wxpayUserChange(String merchantId, String merchantSerialNumber, String apiV3Key,
            String privateKeyUrl, JSONObject jsonObject);

    /**
     * 敏感信息加密
     *
     * @param merchantId
     * @param merchantSerialNumber
     * @param apiV3Key
     * @param privateKeyUrl
     * @param content
     * @return
     */
    public String ciphertContent(String merchantId, String merchantSerialNumber, String apiV3Key,
            String privateKeyUrl, String content);


    /**
     * 查询打款情况
     *
     * @param merchantId
     * @param merchantSerialNumber
     * @param apiV3Key
     * @param privateKeyUrl
     * @param jsonObject
     * @return
     */
    public String transferBatchesOutDetailNo(String merchantId, String merchantSerialNumber, String apiV3Key,
            String privateKeyUrl, JSONObject jsonObject);

    /**
     * 微信支付 订单
     * @param order
     * @return
     */
    public R payOrder(Order order);

    /**
     * 微信支付 退款
     */
    public R refundOrder(RefundOrder refundOrder);






}
